package com.zhu.solution.writtenExamination;

import java.util.Comparator;
import java.util.PriorityQueue;

// 用户自己定义的比较器：直接实现Comparator接口，然后重写该接口中的compare方法即可
class IntCmp implements Comparator<Integer> {
    @Override
    public int compare(Integer o1, Integer o2) {
        return o2-o1;
    }
}
public class TestPriorityQueue {
    public static void main(String[] args) {
        /**
         * 默认是小顶堆，也就是升序排列，可以传入一个比较器去改变序列
         * 优先队列中不能传空值
         */
        PriorityQueue<Integer> p = new PriorityQueue<>(new IntCmp());
        p.offer(4);
        p.offer(3);
        p.offer(2);
        p.offer(1);
        p.offer(5);
        while (!p.isEmpty()) {
            System.out.println(p.poll());
        }
    }
}